/*
 * food菜品 Dao层增删改查
*/
const baseDao = require('./BaseDao');

module.exports = {
    /**
     * 查询所有的数据
     * @returns            返回操作的结果
     */
    selectAllFood(){
        return baseDao.handleData('select id, food_name, food_action, food_price, food_type, food_img, food_create_time from food', null);
    },
    /**
     * 基于一个主键id查询一条记录
     * @param id          主键id
     * @returns           返回操作的结果
     */
    selectFoodById(id){
        return baseDao.handleData('select id, food_name, food_action, food_price, food_type, food_img, food_create_time from food where id=?',
            [id]);
    },
    /**
     * 根据用户传递模糊菜品名称进行统计个数
     * @param food_name          模糊菜品名
     * @returns                  返回操作的结果
     */
    selectFoodCount(food_name){
        return baseDao.handleData('select count(*) from food where food_name like ?',
            ["%" + food_name + "%"]);
    },
    /**
     * 基于分页查询每页数据 每页显示10条
     * @param startIndex          起始下标
     * @returns                   返回操作的结果
     */
    selectFoodByLimit(startIndex){
        return baseDao.handleData('select id, food_name, food_action, food_price, food_type, food_img, food_create_time from food limit ?,10',
            [startIndex]);
    },
    /**
     * 新增一个菜品
     * @param food_name         菜品名
     * @param food_action       菜品使用状态(0为未使用，1为已使用)
     * @param food_price        菜品价格(只有整数)
     * @param food_type         菜品类型(如果有多表关联，可作为单表设计)
     * @param food_img          菜品图片url地址
     * @param food_create_time  菜品创建时间
     * @returns                 返回操作的结果
     */
    insertFood(food_name, food_action, food_price, food_type, food_img, food_create_time){
        return baseDao.handleData('insert into food(food_name, food_action, food_price, food_type, food_img, food_create_time) values(?,?,?,?,?,?)',
            [food_name, food_action, food_price, food_type, food_img, food_create_time]);
    },
    /**
     * 根据主键id更新数据
     * @param food_name         菜品名
     * @param food_action       菜品使用状态(0为未使用，1为已使用)
     * @param food_price        菜品价格(只有整数)
     * @param food_type         菜品类型(如果有多表关联，可作为单表设计)
     * @param food_img          菜品图片url地址
     * @param id                菜品id
     * @returns                 返回操作的结果
     */
    updateFoodById(food_name, food_action, food_price, food_type, food_img, id){
        // 暂时不更新图片
        return baseDao.handleData('update food set food_name=?, food_action=?, food_price=?, food_type=? where id=?',
            [food_name, food_action, food_price, food_type, id]);
    },
    /**
     * 根据传递的用户id删除某一条记录
     * @param id                菜品id
     * @returns                 返回操作的结果
     */
    deleteFoodById(id){
        return baseDao.handleData('delete from food where id=?',
            [id]);
    }
};
